package com.ultrasoft.farmasoft.service;

import java.util.List;

import com.ultrasoft.farmasoft.domain.Pharmacy;
import com.ultrasoft.farmasoft.domain.Pharmacystock;
import com.ultrasoft.farmasoft.domain.Stock;
import com.ultrasoft.farmasoft.domain.Userpharmacy;

public interface StockService {
	public Userpharmacy searchUserPharmacyByPharmacyIdByUserId(Integer pharmacyId,Integer userId);
	public List<Userpharmacy> getListUserPharmacy(boolean active);
	public List<Userpharmacy> getListUserPharmacy(Integer pharmacyId,boolean active);
	
	
	public List<Pharmacy> getListPharmacy();
	public List<Pharmacy> getListPharmacyByPhapharmacyIdNull(boolean active);
	public List<Pharmacy> getListPharmacy(boolean active);
	public List<Pharmacy> getListPharmacy(Integer regionId);
	public List<Pharmacy> getListPharmacy(Integer regionId,boolean active);
    public Pharmacy searchPharmacyByPharmacyId(Integer pharmacyId);
    public void updatePharmacy(Pharmacy pharmacy); 
    public void removePharmacy(Pharmacy pharmacy);    
    public void addPharmacy(Pharmacy pharmacy);
    
    
    public List<Stock> getListStock();
	public List<Stock> getListStockByPharmacyIdByUserId(Integer pharmacyId,Integer userId);
	public List<Stock> getListStockByPharmacyId(Integer pharmacyId);
	//public List<Stock> getListStockByPharmacyIdIntoPharmacyStock(Integer pharmacyId);
	public List<Stock> getListStockByUserId(Integer userId);
    public Stock searchStockByStockId(Integer stockId);
    public void updateStock(Stock stock); 
    public void removeStock(Stock stock);    
    public void addStock(Stock stock);
    
    
    public List<Pharmacystock> getListPharmacyStock();
	public List<Pharmacystock> getListPharmacyStockByPharmacyId(Integer pharmacyId);
	public List<Pharmacystock> getListPharmacyStockByPharmacyIdByProviderId(Integer pharmacyId,Integer providerId);
	public List<Pharmacystock> getListPharmacyStockByStockId(Integer stockId);
	public Pharmacystock searchPharmacyStockByPharmacyIdByStockId(Integer pharmacyId,Integer stockId);					
    public void updatePharmacyStock(Pharmacystock pharmacyStock);
    public void removePharmacyStock(Pharmacystock pharmacyStock);
	public void addPharmacyStock(Pharmacystock pharmacyStock);
}
